package com.core.zyyz.pcmc.service;

import java.util.List;

import com.core.zyyz.pcmc.domain.DataPermissionEntity;
import com.core.zyyz.pcmc.domain.PcmcOrgHierarchy;

/**
 * 机构层级Service接口
 *
 * @author LiuFushun
 * @date 2024-10-29
 */
public interface PcmcOrgHierarchyService
{
    /**
     * 查询机构层级
     *
     * @param ID 机构层级主键
     * @return 机构层级
     */
    public PcmcOrgHierarchy selectPcmcOrgHierarchyByID(String ID);

    /**
     * 查询机构层级列表
     *
     * @param pcmcOrgHierarchy 机构层级
     * @return 机构层级集合
     */
    public List<PcmcOrgHierarchy> selectPcmcOrgHierarchyList(PcmcOrgHierarchy pcmcOrgHierarchy);

    /**
     * 新增机构层级
     *
     * @param pcmcOrgHierarchy 机构层级
     * @return 结果
     */
    public int insertPcmcOrgHierarchy(PcmcOrgHierarchy pcmcOrgHierarchy);

    /**
     * 修改机构层级
     *
     * @param pcmcOrgHierarchy 机构层级
     * @return 结果
     */
    public int updatePcmcOrgHierarchy(PcmcOrgHierarchy pcmcOrgHierarchy);

    /**
     * 批量删除机构层级
     *
     * @param IDs 需要删除的机构层级主键集合
     * @return 结果
     */
    public int deletePcmcOrgHierarchyByIDs(String[] IDs);

    /**
     * 删除机构层级信息
     *
     * @param ID 机构层级主键
     * @return 结果
     */
    public int deletePcmcOrgHierarchyByID(String ID);

    /**
     * 查询组织机构或机构下的人员名单
     * @param paramDataPermissionEntity
     * @param paraMap
     * @return
     */
    List<PcmcOrgHierarchy> queryOrgHierarchyTreeNode(DataPermissionEntity paramDataPermissionEntity,PcmcOrgHierarchy paraMap);

}
